﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _001基础类学习
{
    /// <summary>
    /// 学生类-类相当于图纸
    /// 在未创建对象之前不占用内存-简单理解
    /// 封装演示
    /// </summary>
    public class Student //类名
    {
       //状态-字段
       //如果使用private，就是对外隐藏了数据字段，封装
       private string _name;//名字 
       private string _sex;//性别
       private int _age;//年龄
       
       //对外开放简单接口，访问内部私有数据
       //设置数据
       public void SetName(string name)
       {
            //安全检查
            if (name != "中国")
                _name = name;
       }
       //获取数据
       public string GetName()
       {
            return _name;
       }
  
       public void SetAge(int age)
       {
            //安全检查
            if(age >0 && age < 120)
                _age = age;
       }
       public int GetAge()
       {
            return _age;
       }

       public void SetSex(string sex)
       {
            //安全检查
            if (sex == "男" || sex == "女")
                 _sex = sex;
            else
            {
                Console.WriteLine("设置数据不合法!");
            }
       }
       public string GetSex()
       {
           return _sex;
       }
        //行为-方法
        //吃饭
        public void Eat()
        {
            Console.WriteLine("{0}正在吃饭",_name);
        }
        //学习
        void Learn()
        {
            Console.WriteLine("{0}正在学习", _name);
        }
        //打游戏
        void PlayGame()
        {
            Console.WriteLine("{0}正在打游戏", _name);
        }
    }
}
